servo3 2.2.0
Loading...
Searching...
No Matches
servo3.h File Reference

This file contains API for Servo 3 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_pwm.h"

Go to the source code of this file.

Data Structures

struct  servo3_t
 Servo 3 Click context object. More...
struct  servo3_cfg_t
 Servo 3 Click configuration object. More...

Macros

#define SERVO3_PWM_MAX   4095
 Servo 3 PWM output setting.
#define SERVO3_PWM_MIN   0
#define SERVO3_PWM_ZERO_DEGREE_PULSE   3969
#define SERVO3_PWM_180_DEGREE_PULSE   3461
#define SERVO3_FC_PS_MODE_DISABLED   0x000000ul
 Servo 3 function and brightness control.
#define SERVO3_FC_PS_MODE_ENABLED   0x038000ul
#define SERVO3_FC_PS_MODE_MASK   0x038000ul
#define SERVO3_FC_OLDENA_DISABLED   0x000000ul
#define SERVO3_FC_OLDENA_ENABLED   0x004000ul
#define SERVO3_FC_OLDENA_MASK   0x004000ul
#define SERVO3_FC_IDMCUR_2_UA   0x000000ul
#define SERVO3_FC_IDMCUR_10_UA   0x001000ul
#define SERVO3_FC_IDMCUR_20_UA   0x002000ul
#define SERVO3_FC_IDMCUR_1_MA   0x003000ul
#define SERVO3_FC_IDMCUR_MASK   0x003000ul
#define SERVO3_FC_IDMRPT_NOT_REPEATED   0x000000ul
#define SERVO3_FC_IDMRPT_REPEATED   0x000800ul
#define SERVO3_FC_IDMRPT_MASK   0x000800ul
#define SERVO3_FC_IDMENA_DISABLED   0x000000ul
#define SERVO3_FC_IDMENA_ENABLED   0x000400ul
#define SERVO3_FC_IDMENA_MASK   0x000400ul
#define SERVO3_FC_LATTMG_17TH   0x000000ul
#define SERVO3_FC_LATTMG_33TH   0x000100ul
#define SERVO3_FC_LATTMG_65TH   0x000200ul
#define SERVO3_FC_LATTMG_129TH   0x000300ul
#define SERVO3_FC_LATTMG_MASK   0x000300ul
#define SERVO3_FC_LSDVLT_35PCT_VCC   0x000000ul
#define SERVO3_FC_LSDVLT_45PCT_VCC   0x000040ul
#define SERVO3_FC_LSDVLT_55PCT_VCC   0x000080ul
#define SERVO3_FC_LSDVLT_65PCT_VCC   0x0000C0ul
#define SERVO3_FC_LSDVLT_MASK   0x0000C0ul
#define SERVO3_FC_LODVLT_0_3_V   0x000000ul
#define SERVO3_FC_LODVLT_0_6_V   0x000010ul
#define SERVO3_FC_LODVLT_0_9_V   0x000020ul
#define SERVO3_FC_LODVLT_1_2_V   0x000030ul
#define SERVO3_FC_LODVLT_MASK   0x000030ul
#define SERVO3_FC_ESPWM_DISABLED   0x000000ul
#define SERVO3_FC_ESPWM_ENABLED   0x000008ul
#define SERVO3_FC_ESPWM_MASK   0x000008ul
#define SERVO3_FC_TMGRST_DISABLED   0x000000ul
#define SERVO3_FC_TMGRST_ENABLED   0x000004ul
#define SERVO3_FC_TMGRST_MASK   0x000004ul
#define SERVO3_FC_DSPRPT_DISABLED   0x000000ul
#define SERVO3_FC_DSPRPT_ENABLED   0x000002ul
#define SERVO3_FC_DSPRPT_MASK   0x000002ul
#define SERVO3_FC_BLANK_ON   0x000000ul
#define SERVO3_FC_BLANK_OFF   0x000001ul
#define SERVO3_FC_BLANK_MASK   0x000001ul
#define SERVO3_BC_MIN   0x00
#define SERVO3_BC_MAX   0x7F
#define SERVO3_BC_MASK   0x7F
#define SERVO3_ANGLE_MIN   0
 Servo 3 angle and channel setting.
#define SERVO3_ANGLE_MAX   180
#define SERVO3_CHANNEL_0   0
#define SERVO3_CHANNEL_1   1
#define SERVO3_CHANNEL_2   2
#define SERVO3_CHANNEL_3   3
#define SERVO3_CHANNEL_4   4
#define SERVO3_CHANNEL_5   5
#define SERVO3_CHANNEL_6   6
#define SERVO3_CHANNEL_7   7
#define SERVO3_CHANNEL_8   8
#define SERVO3_CHANNEL_9   9
#define SERVO3_CHANNEL_10   10
#define SERVO3_CHANNEL_11   11
#define SERVO3_CHANNEL_12   12
#define SERVO3_CHANNEL_13   13
#define SERVO3_CHANNEL_14   14
#define SERVO3_CHANNEL_15   15
#define SERVO3_CHANNEL_ALL   16
#define SERVO3_NUM_CHANNELS   16
#define SERVO3_DEF_FREQ   256000ul
 Servo 3 default PWM frequency.
#define SERVO3_DEF_DC   0.5
#define SERVO3_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Enumerations

enum  servo3_return_value_t { SERVO3_OK = 0 , SERVO3_ERROR = -1 }
 Servo 3 Click return value data. More...

Functions

void servo3_cfg_setup (servo3_cfg_t *cfg)
 Servo 3 configuration object setup function.
err_t servo3_init (servo3_t *ctx, servo3_cfg_t *cfg)
 Servo 3 initialization function.
err_t servo3_set_duty_cycle (servo3_t *ctx, float duty_cycle)
 Servo 3 sets PWM duty cycle.
err_t servo3_pwm_stop (servo3_t *ctx)
 Servo 3 stop PWM module.
err_t servo3_pwm_start (servo3_t *ctx)
 Servo 3 start PWM module.
void servo3_write_control (servo3_t *ctx, uint32_t fc_data, uint8_t bc_data)
 Servo 3 write control function.
void servo3_write_data (servo3_t *ctx, uint8_t *data_in, uint8_t len)
 Servo 3 write data function.
void servo3_set_sclk_pin (servo3_t *ctx, uint8_t state)
 Servo 3 set SCLK pin function.
void servo3_set_sin_pin (servo3_t *ctx, uint8_t state)
 Servo 3 set SIN pin function.
void servo3_set_xlat_pin (servo3_t *ctx, uint8_t state)
 Servo 3 set XLAT pin function.
uint8_t servo3_get_sout_pin (servo3_t *ctx)
 Servo 3 get SOUT pin state function.
err_t servo3_set_channel_pwm (servo3_t *ctx, uint8_t ch_num, uint16_t pwm_out)
 Servo 3 set channel PWM function.
err_t servo3_set_angle (servo3_t *ctx, uint8_t ch_num, uint8_t angle)
 Servo 3 set angle function.
void servo3_update_output (servo3_t *ctx)
 Servo 3 update output function.

Detailed Description

This file contains API for Servo 3 Click Driver.

Enumeration Type Documentation

◆ servo3_return_value_t

Servo 3 Click return value data.

Predefined enum values for driver return values.

Enumerator
SERVO3_OK 
SERVO3_ERROR